using System;
using System.Collections.Generic;
using System.Text;

namespace LetsDoSomeVariations
{
    /// <summary>
    /// Provides an instance of the VariationSettings class
    /// </summary>
    public class VariationSettings
    {
        private string _SourceVarRootWebTemplatePropertyName = string.Empty;
        private string _ObjectID = "/";
        private bool _EnableAutoSpawnPropertyName = true;
        private bool _AutoSpawnStopAfterDeletePropertyName = true;
        private bool _UpdateWebPartsPropertyName = true;
        private bool _CopyResourcesPropertyName = true;
        private bool _SendNotificationEmailPropertyName = true;

        /// <summary>
        /// Gets or sets the name of the source variation root web template property.
        /// </summary>
        /// <value>The name of the source var root web template property.</value>
        public string SourceVarRootWebTemplatePropertyName
        {
            get { return _SourceVarRootWebTemplatePropertyName; }
            set { _SourceVarRootWebTemplatePropertyName = value; }
        }

        /// <summary>
        /// Gets or sets the object ID used as the variation root url.
        /// </summary>
        /// <value>The object ID.</value>
        public string ObjectID
        {
            get { return _ObjectID; }
            set { _ObjectID = value; }
        }

        /// <summary>
        /// Gets or sets a value indicating whether [enable auto spawn property name].
        /// </summary>
        /// <value>
        /// 	<c>true</c> if [enable auto spawn property name]; otherwise, <c>false</c>.
        /// </value>
        public bool EnableAutoSpawnPropertyName
        {
            get { return _EnableAutoSpawnPropertyName; }
            set { _EnableAutoSpawnPropertyName = value; }
        }

        /// <summary>
        /// Gets or sets a value indicating whether [auto spawn stop after delete property name].
        /// </summary>
        /// <value>
        /// 	<c>true</c> if [auto spawn stop after delete property name]; otherwise, <c>false</c>.
        /// </value>
        public bool AutoSpawnStopAfterDeletePropertyName
        {
            get { return _AutoSpawnStopAfterDeletePropertyName; }
            set { _AutoSpawnStopAfterDeletePropertyName = value; }
        }

        /// <summary>
        /// Gets or sets a value indicating whether [update web parts property name].
        /// </summary>
        /// <value>
        /// 	<c>true</c> if [update web parts property name]; otherwise, <c>false</c>.
        /// </value>
        public bool UpdateWebPartsPropertyName
        {
            get { return _UpdateWebPartsPropertyName; }
            set { _UpdateWebPartsPropertyName = value; }
        }

        /// <summary>
        /// Gets or sets a value indicating whether [copy resources property name].
        /// </summary>
        /// <value>
        /// 	<c>true</c> if [copy resources property name]; otherwise, <c>false</c>.
        /// </value>
        public bool CopyResourcesPropertyName
        {
            get { return _CopyResourcesPropertyName; }
            set { _CopyResourcesPropertyName = value; }
        }

        /// <summary>
        /// Gets or sets a value indicating whether [send notification email property name].
        /// </summary>
        /// <value>
        /// 	<c>true</c> if [send notification email property name]; otherwise, <c>false</c>.
        /// </value>
        public bool SendNotificationEmailPropertyName
        {
            get { return _SendNotificationEmailPropertyName; }
            set { _SendNotificationEmailPropertyName = value; }
        }
    }
}
